//
//  main.c
//  static与extern关键字
//
//  Created by ws on 2017/7/25.
//  Copyright © 2017年 王松. All rights reserved.
//

#include <stdio.h>
/**
 static 对局部变量的作用:
 1.延长变量的生命周期,从第一次执行开始直到文件程序退出
 2.定义的这一行代码仅仅会执行一次
 3.它不会改变局部变量的作用域
 extern:放在函数内部,它仅仅是对全局变量的声明,和局部变量没有任何作用
 */
void change(){
    
    {
       static int num = 1;
//        num = 5;
        num++;
        
        printf("%d\n",num);
    }
    
//        printf("%d\n",num);
}
void test2(){
    extern int num;//放在函数内部,它仅仅是对全局变量的声明
    printf("%d\n",num);
    
}
int num = 20;
int main(int argc, const char * argv[]) {
    change();//2
//    change();//3
//    change();//4
//    change();//5
//    test2();
    return 0;
}
